package com.mingqijia.gassafety.webserver.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * @author zhangfei
 * @version 1.0.0
 * @ClassName WarnStrategyResponse.java
 * @createTime 2022年02月28日
 */
@Data
@ApiModel("策略详情")
public class WarnStrategyResponse {

    //主键id
    @ApiModelProperty("主键id")
    private Long id;
    //规则名称
    @ApiModelProperty("规则名称")
    private String ruleName;

    //策略对象：0所有客户 1按照行业选择 2按照客户选择
    @ApiModelProperty("0所有客户 1按照行业选择 2按照客户选择")
    private Integer strategyObj;

    //行业或者客户数据：；号隔开
    @ApiModelProperty("行业或者客户数据;号隔开")
    private String strategyObjValues;

    //策略设备：0所有设备
    @ApiModelProperty("0所有设备")
    private Integer strategyEquipment;

    //备注说明
    @ApiModelProperty("备注说明")
    private String remark;

    //"低报 %
    @ApiModelProperty("低报 ")
    private String lowReport;
    //报警方式：1本地消息中心 2 短信推送
    @ApiModelProperty("报警方式：1本地消息中心 2 短信推送 3微信推送 ")
    private Integer lowType;
    //本地消息中心报警间隔：
     @ApiModelProperty("本地消息中心报警间隔 ")
    private String lowReportInterval;
    //短信报警间隔：
    @ApiModelProperty("短信报警间隔 ")
    private String lowSendInterval;

    //外呼报警间隔：
    @ApiModelProperty("外呼报警间隔 ")
    private String lowCallInterval;

    //外呼报警间隔：
    @ApiModelProperty("外呼报警间隔 ")
    private String highCallInterval;
    //高报 %
    @ApiModelProperty("高报 ")
    private String highReport;
    //报警方式：1本地消息中心 2 短信推送
    @ApiModelProperty("报警方式：1本地消息中心 2 短信推送  3微信推送")
    private Integer highType;
    //本地消息中心报警间隔
    @ApiModelProperty("本地消息中心报警间隔")
    private String highReportInterval;
    //短信报警间隔
    @ApiModelProperty("短信报警间隔")
    private String highSendInterval;


    //微信模版报警间隔
    @ApiModelProperty(value = "微信模版报警间隔-低报")
    private String lowWxInterval;

    //微信模版报警间隔
    @ApiModelProperty(value = "微信模版报警间隔-高报")
    private String highWxInterval;
    //  ext策略数据
    @ApiModelProperty("短信额外策略数据")
    private List<WarnStrategyExtResponse> extSMSData;
    @ApiModelProperty("外呼额外策略数据")
    private List<WarnStrategyExtResponse> extCallData;
    /**
     * 创建时间
     */
    private String createdAt;

    /**
     * 更新时间
     */
    private String updatedAt;

    @ApiModelProperty("行业或者客户数据集合")
    private String[] objLists;

    @ApiModelProperty(value = "高报微信消息手机号;拼接")
    private String highWxPhones;

    @ApiModelProperty(value = "低报微信消息手机号;拼接")
    private String lowWxPhones;


    @ApiModelProperty(value = "校验报警状态：1勾选 0未勾选")
    private Integer checkDeviceState;

    @ApiModelProperty(value = "高报外呼时是否发送短信 0代表发送 1代表不发送")
    private Integer highCallSendNote;

    @ApiModelProperty(value = "低报外呼时是否发送短信 0代表发送 1代表不发送")
    private Integer lowCallSendNote;

    @ApiModelProperty(value = "高报短信推送模板CODE，可以为空，为空取默认")
    private String highSmsMsgCode;

    @ApiModelProperty(value = "高报短信推送模板内容")
    private String highSmsMsgCodeContent;

    @ApiModelProperty(value = "高报微信推送模板CODE，可以为空，为空取默认")
    private String highWxMsgCode;

    @ApiModelProperty(value = "高报微信推送模板内容")
    private String highWxMsgCodeContent;

    @ApiModelProperty(value = "低报短信推送模板CODE，可以为空，为空取默认")
    private String lowSmsMsgCode;

    @ApiModelProperty(value = "低报短信推送模板内容")
    private String lowSmsMsgCodeContent;

    @ApiModelProperty(value = "低报微信推送模板CODE，可以为空，为空取默认")
    private String lowWxMsgCode;

    @ApiModelProperty(value = "低报微信推送模板内容")
    private String lowWxMsgCodeContent;
}
